草庐IT

cookie、session、web storage

全部标签

java - Spring hibernate : Illegal attempt to associate a collection with two open sessions

我正在尝试更新MySqlDb中的记录。更新时抛出以下异常org.hibernate.HibernateException:Illegalattempttoassociateacollectionwithtwoopensessionsatorg.hibernate.collection.AbstractPersistentCollection.setCurrentSession(AbstractPersistentCollection.java:410)atorg.hibernate.event.def.OnUpdateVisitor.processCollection(OnUpdate

java - 使用 RestTemplate 设置安全 cookie

我正在尝试使用RestTemplate和Jacksonjson转换器调用RestfulJSON服务。现在为了调用该服务,我需要传入一个安全cookie。我可以通过使用URLConnection来实现这一点(参见下面的代码)URLurl=newURL("https://XXXXXXXX");URLConnectionyc=url.openConnection();yc.setRequestProperty("SecurityCookie",ssocookie.getValue());这在RestTemplate中有什么相似之处?这是我一直用来使用RestTemplate调用Restful

java - 干净的代码、无状态 session bean 和私有(private)状态

根据RobertC.Martin的干净代码,方法应该有一个小签名。最好的情况是完全没有参数的方法。相反,建议使用状态变量。这真的很有用。但是无状态sessionbean呢?这个名字有点令人困惑,因为SLSB可以有状态。您只需要进行内务处理,这样您就不会使用之前EJB调用的状态。回到干净的代码:我也喜欢在SLSB中使用实例变量。这工作正常,如果您足够小心,您不会遇到任何状态不一致的问题,因为状态在每次公共(public)方法调用时都会被覆盖。到目前为止一切顺利。但是,如果用过的bean返回到池中会怎样?它带着它的状态。根据状态的大小,这可能是真正的内存泄漏。JBoss对bean非常慷慨,

java - Hibernate Session#merge 在收到带有 ID 的实体时是否应该插入?

这似乎经常出现,但我用谷歌搜索无济于事。假设您有一个Hibernate实体User。您的数据库中有一个ID为1的User。您有两个线程在运行,A和B。它们执行以下操作:A获取用户1并关闭其SessionB获取用户1并删除它A更改用户1的字段A得到一个新的Session并合并的用户1我所有的测试都表明merge试图在数据库中找到用户1(显然不能),因此它插入了一个ID为2的新用户。另一方面,我的期望是Hibernate会发现被合并的用户不是新用户(因为它有一个ID)。它会尝试在数据库中找到用户,这会失败,因此它不会尝试插入或更新。理想情况下,它会抛出某种并发异常。请注意,我正在通过@Ve

java - Appium 错误 : A new session could not be created.(原始错误:未从 Chromedriver 获取 session 重定向)

我正在尝试通过Appium运行我的第一个测试并收到以下错误。org.openqa.selenium.SessionNotCreatedException:Anewsessioncouldnotbecreated.(Originalerror:DidnotgetsessionredirectfromChromedriver)(WARNING:Theserverdidnotprovideanystacktraceinformation)Commanddurationortimeout:4.64secondsBuildinfo:version:'2.41.0',revision:'3192d

java - 防止数据库更新期间 session 超时

背景Web应用程序调用存储过程来执行密集的数据库更新。web.xml的相关部分已更新为四个小时:240该解决方案可用的技术包括Java1.4.2、Struts2、Tomcat5.5和Apachecommons。大多数其他技术(例如jQuery)都是不允许的。问题更新大约需要一个小时才能运行,但是四小时的配置值违反了公司标准(有充分的理由)。生产中不允许四小时超时配置。问题什么将确保在执行数据库更新时请求不会超时?想法在前两种情况下,我担心生成的进程最终会被Servlet容器杀死。页面刷新将数据库更新过程作为后台任务生成。让Servlet不断刷新页面以检查是否完成。JavaScript平

java - 我们可以从 Java 桌面应用程序读取浏览器保存的 cookies 吗?

我想将Web登录session转移到我的Java桌面应用程序,这样我就不想再次登录我的桌面应用程序。一旦用户登录到我的网络应用程序,我就在用户系统上设置一些cookie,一旦他启动我的独立应用程序,我想使用存储在这里的凭据让我的用户登录到应用程序而不要求重新登录。我的问题:-我可以访问cookie来读取Authtoken和其他参数吗?这是正确的解决方案吗?-为达到上述要求,有没有合适的解决办法。Cookie对我来说似乎是一个解决方案。但本质上我想要Web应用程序和独立应用程序之间的无缝集成。有哪些解决方案? 最佳答案 针对以上需求我

java - Hibernate session 线程安全

我知道session不是线程安全的。我的第一个问题:将一个实体传递给另一个线程是否安全,对其进行一些处理,然后将其传递回原始线程并进行更新。publicclassExample1{MyDaodao;...publicvoiddoWork(){MyEntityentity=dao.getEntity();Runnablejob=newJob(entity);Threadt=newThread(job);t.run();t.join();dao.merge(entity);}}我的第二个问题:在一个线程中新建实体并将其保存在另一个线程中是否安全?publicclassExample2{My

java - 如何使 Tomcat 中的所有 session 过期?

我想让Tomcat中的所有session都过期。我们在Fitnesse下测试我们的产品,一些session仍然存在,session结束导致测试之间存在依赖性。我用下面的代码手工完成,但有些session仍然存在(我可以用http://localhost:8080/manager/html/listurl检查它)publicstaticvoidexpireAllSessions(){String[]applications={"a","b","c","d","e"};for(Stringapplication:applications){try{expireAllSessions(app

java - 在 WildFly 中的重新部署之间保持 HTTP session

是否可以在WildFly上的重新部署之间保持HTTPsession? 最佳答案 您可以尝试配置session持久性。Here是一个关于如何做到这一点的博客。但是,这个功能似乎从v8.2开始可用。我将引用此博客中的注释Youcanalsoachievesessionpassivation,whenyouareusinganon-haprofile,byaddingtoyourweb.xml(forthoseusingWildFly8.1.0orless). 关于java-在WildFly中